package com.heu.blood.match.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 *
 *
 * @author lrz
 * @since 2023-07-05
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("patient_information")
public class PatientInformationEntity implements Serializable {

    private static final long serialVersionUID=1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 创建时间
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    @TableField(value = "gmt_create", fill = FieldFill.INSERT) // 创建注解
    private Date gmtCreate;

    /**
     * 修改时间
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    @TableField(value = "gmt_modified", fill = FieldFill.INSERT_UPDATE) // 更新注解
    private Date gmtModified;
    /**
     * 病人id
     */
    private String patientId;
    /**
     * 病人姓名
     */
    private String patientName;
    /**
     * abo类型
     */
    private String aboBloodType;
    /**
     * rh类型
     */
    private String rhBloodType;
    /**
     * 病人年龄
     */
    private String age;
    /**
     * 病人性别
     */
    private String sex;
    /**
     * 病人类别（如住院）
     */
    private String patientType;
    /**
     * 床号
     */
    private String bedNumber;
    /**
     * 病人病区
     */
    private String ward;
    /**
     * 临床诊断
     */
    private String clinicalDiagnosis;

    /**
     * 血红蛋白
     */
    private String haemoglobin;

    /**
     * HCT
     */
    private String hct;

    /**
     * 血小板
     */
    private String platelet;

    /**
     * ALT
     */
    private String alt;

    /**
     * HBsAg
     */
    private String hbsag;

    /**
     * Anti_HCV
     */
    private String antiHcv;

    /**
     * Anti_HIV1/2
     */
    private String antiHiv;

    /**
     * 梅毒
     */
    private String syphilis;

    /**
     * 1代表展示，0代表不展示
     */
    @TableField(value = "if_show", fill = FieldFill.INSERT) // 创建注解
    private Integer ifShow;
    /**
     *  1代表已删除，0代表未删除
     */
    @TableLogic(value = "0", delval = "1")
    @TableField(value = "is_deleted", fill = FieldFill.INSERT) // 创建注解
    private Integer isDeleted;
    /**
     * 患者身高
     */
    private Double patientHeight;

    /**
     * 患者体重
     */
    private Double patientWeight;

    /**
     * 患者红细胞计数
     */
    private String rbc;

    /**
     * 证件号码
     */
    private String idCard;

    /**
     * 民族
     */
    private String national;

    /**
     * RH分型/（RHBloodSplitType字典）
     */
    private String rhSplitType;

    /**
     * 首次采血时间（就是之前患者的采血时间）
     */
    private String collectTimeFirst;

    /**
     * 科室名称
     */
    private String department;

    /**
     * 血栓弹力图R值
     */
    @JsonProperty("rValue")
    private String rValue;

    /**
     * 血栓弹力图K值
     */
    @JsonProperty("kValue")
    private String kValue;

    /**
     * 血栓弹力图A值
     */
    @JsonProperty("aValue")
    private String aValue;

    /**
     * 血栓弹力图MA值
     */
    private String maValue;

    /**
     * 血栓弹力CI值
     */
    private String ciValue;


}
